#include "config.h"

#if defined(_WIN32)
//windows
#   ifdef CONFIG_USE_SHARED
        //shared library
#       ifdef EDUI_EXPORTS
#           define EDUI_API __declspec(dllexport)
#       else
#           define EDUI_API __declspec(dllimport)
#       endif
#   else
        //static library
#       define EDUI_API
#   endif
#elif defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
//linux...
#   ifdef CONFIG_USE_SHARED
        //shared library
#       ifdef EDUI_EXPORTS
#           define EDUI_API __attribute__((visibility("default")))
#       else
#           define EDUI_API
#       endif
#   else
        //static library
#       define EDUI_API
#   endif
#else
//other..
#   define EDUI_API      
#endif

//----------------------------------------------//

/*! calculate add(a, b) 
 *
 * @param a     the first argument
 * @param b     the second argument
 *
 * @return      the result
 */
EDUI_API int    add(int a, int b);


class EDUI_API Test 
{
public:
    Test(){}
    ~Test(){}

    void print(const char* str);

};
